﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProjectEulerSolutions
{
    /*
     * The first known prime found to exceed one million digits was discovered in 1999, and is a Mersenne prime of the form 26972593−1; it contains exactly 2,098,960 digits. Subsequently other Mersenne primes, of the form 2p−1, have been found which contain more digits.

However, in 2004 there was found a massive non-Mersenne prime which contains 2,357,207 digits: 28433×2^7830457+1.

Find the last ten digits of this prime number.

     * */
    class Problem97 : IProblem
    {
        public string Calculate()
        {
            int limit = 7830457;
            long n = 28433;

            for (int i = 0; i < limit; i++)
            {
                n = (n * 2) % 10000000000;
            }

            n++;

            return n.ToString();
        }
    }
}
